package football.modele;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.*;

@Entity
public class Equipe implements Serializable {

	private static final long serialVersionUID = 811645570492803376L;
	private int idEquipe;
	private Tournoi tournoi;
	private String nomEquipe;
	private Set<Joueur> listeJoueurs;
	private int numeroEquipe;

	public Equipe() {
		listeJoueurs = new HashSet<Joueur>();
	}
	
	public Equipe(String nomEquipe, int numeroEquipe, Tournoi tournoi) {
		super();
		this.nomEquipe = nomEquipe;
		this.numeroEquipe = numeroEquipe;
		this.tournoi = tournoi;
		this.listeJoueurs = new HashSet<Joueur>();
	}

	@Id
	@GeneratedValue
	public int getIdEquipe() {
		return idEquipe;
	}

	public void setIdEquipe(int idEquipe) {
		this.idEquipe = idEquipe;
	}

	public String getNomEquipe() {
		return nomEquipe;
	}

	@ManyToOne
	public Tournoi getTournoi() {
		return tournoi;
	}

	public void setTournoi(Tournoi tournoi) {
		this.tournoi = tournoi;
	}

	public void setNomEquipe(String nomEquipe) {
		this.nomEquipe = nomEquipe;
	}

	@OneToMany(mappedBy="equipeJ", cascade=CascadeType.ALL, fetch=FetchType.EAGER)
	public Set<Joueur> getListeJoueurs() {
		return listeJoueurs;
	}

	public void setListeJoueurs(Set<Joueur> listeJoueurs) {
		this.listeJoueurs = listeJoueurs;
	}
	
	public int getNumeroEquipe() {
		return numeroEquipe;
	}

	public void setNumeroEquipe(int numeroEquipe) {
		this.numeroEquipe = numeroEquipe;
	}

}
